#标记复购、流失
import pandas as pd

df=pd.read_csv('交易记录.csv',sep=',',index_col='user_id')
print(df.head())
df=pd.concat([df.shift(1,axis=1),df]).groupby('user_id').agg(tuple);
# shift移动， axis=1横向操作   groupby('user_id')按用户编号分组     agg(tuple)将分组后数据转成元组
print(df)

def fun(tup): #标记函数
    if tup==(1,1):
        return '复购'
    elif tup==(1,0):
        return '流失'
    elif tup==(0,1):
        return '购买'
    else:
        return '-'
print(df.map(fun))